package net.da.processor.user.impl;

import java.util.ArrayList;
import java.util.List;

import net.da.processor.AbstractProcessorMock;
import net.da.processor.user.ReadUsersListProcessor;
import net.da.processor.user.io.ReadUsersListRequest;
import net.da.processor.user.io.ReadUsersListResponse;

public class ReadUsersListProcessorMock extends AbstractProcessorMock<ReadUsersListResponse, ReadUsersListRequest> implements ReadUsersListProcessor {

    @Override
    protected ReadUsersListResponse process(ReadUsersListRequest request) {
        ReadUsersListResponse readUsersListResponse = new ReadUsersListResponse();
        readUsersListResponse.setUsers(new UserData(readUsersListResponse).getUsers());
        return readUsersListResponse;
    }

    @Override
    protected ReadUsersListResponse buildIOResponseEmptyInstance() {
        return new ReadUsersListResponse();
    }

    class UserData {
        private List<ReadUsersListResponse.User> users = new ArrayList<ReadUsersListResponse.User>();

        public List<ReadUsersListResponse.User> getUsers() {
            return users;
        }

        public UserData(ReadUsersListResponse readUsersListResponse) {
            ReadUsersListResponse.User user = readUsersListResponse.new User();
            user.setUserFirstName("Marge");
            user.setUserLastName("Simpson");
            user.setUserName("dsjf328dsfk0____dsf0ds98");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Александр");
            user.setUserLastName("Березин");
            user.setUserName("abe");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Dmitry");
            user.setUserLastName("Dzifuta");
            user.setUserName("ddz");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Гарик");
            user.setUserLastName("Харламов");
            user.setUserName("buldog");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("user1");
            user.setUserLastName("Галыгин");
            user.setUserName("login1");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("user2");
            user.setUserLastName("Мартиросян");
            user.setUserName("login2");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Artur");
            user.setUserLastName("Ovsepyan");
            user.setUserName("1a_3sddsf23dsf98");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Татьяна");
            user.setUserLastName("Дзифута");
            user.setUserName("ddz");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Ху");
            user.setUserLastName("Ибн Хаттаб Муслим Магомото-Ясиратов");
            user.setUserName("her");
            users.add(user);




            user = readUsersListResponse.new User();
            user.setUserFirstName("Michael");
            user.setUserLastName("Johnson");
            user.setUserName("mik");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Michael");
            user.setUserLastName("Johnson");
            user.setUserName("mik");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Michael");
            user.setUserLastName("Johnson");
            user.setUserName("mik");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Michael");
            user.setUserLastName("Johnson");
            user.setUserName("mik");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Michael");
            user.setUserLastName("Johnson");
            user.setUserName("mik");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Michael");
            user.setUserLastName("Johnson");
            user.setUserName("mik");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Michael");
            user.setUserLastName("Johnson");
            user.setUserName("mik");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Michael");
            user.setUserLastName("Johnson");
            user.setUserName("mik");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Michael");
            user.setUserLastName("Johnson");
            user.setUserName("mik");
            users.add(user);

            user = readUsersListResponse.new User();
            user.setUserFirstName("Michael");
            user.setUserLastName("Johnson");
            user.setUserName("mik");
            users.add(user);
        }

    }
}
